|
|
|
Intel Signal Processing Library
Frequently Asked Questions
The Intel Signal Processing Library maintain the latest errata on the Intel Developer web site. Please check the library errata for further information.
Q: Would application developed using the Intel Signal Processing Library run on a system with non-Intel processors?
Q: What compiler environments do the Intel Signal Processing Library support?
Q: Where can I find the assembly code samples that implement MMX technology?
Q: What is the minimal installation for the use of Intel Signal Processing Library on a Pentium® processor?
Q: What is the minimal installation for application development with Intel Signal Processing Library?
Q: Can the Intel Signal Processing Library be used in a multi-threaded application?
Q: Can I call the library function from Visual Basic 4.0 (16-bit version)?
Q: I encounter a problem "Bad DLL calling convention" while calling the library function from a 32 bit version of Visual Basic program. What went wrong?
Q: How about Delphi or Fortran support?
Q: What is a "clock/element" in the performance specification for the signal processing library?
Q: Where can I find NSPM5.DLL, which takes advantage of MMX Technology when using Intel Signal Processing Library?
Q: How does Intel Signal Processing Library implement the integer FFT function?
Q: Which Intel's library should I use to get the best performance for DCT and IDCT function?
Q: Would application developed using the Intel Signal Processing Library run on a system with non-Intel processors?
A: Our libraries will run on any processor that is 100% compatible with the Intel Architecture.
Intel is happy to compete with other companies - the price/performance/quality of our processors speaks for itself.
Q: What compiler environments do the Intel Signal Processing Library support?
A: Please refer to the library release notes or the library web site for more detail.
Q: Where can I find the assembly code samples that implement MMX technology?
A: Please visit the Intel’s WWW site at http://developer.intel.com/drg/mmx/appnotes, for sample code for several common operations.
Q: What is the minimal installation for the use of Intel Signal Processing Library on a Pentium® processor?
A: The Intel Signal Processing Library release is for software developer. So any installation will target for all Intel Architecture processors. For end user distribution, you only need three files, namely NSP.DLL, NSPP.DLL, and the CPUID32.DLL to run on a Pentium processor system.
Q: What is the minimal installation for application development with Intel Signal Processing Library?
A: The SPLDLL.EXE is all you need if your application will use the Intel Signal Processing Library DLLs only.
If you want to create custom DLL, you can download the SPLLIBMS.EXE instead.
If you want to use the filename, directory name, or volume label syntax is incorrect.
e static library only, for Microsoft development environment, install the SPLLIBMS.EXE. For Borland development environment, install the SPLLIBBC.EXE.
For redistribution to your customer, you might want to check the customer CPU type, and then just install only the specific DLL on the target system.
Q: Can the Intel Signal Processing Library be used in a multi-threaded application?
A: Yes, both the Intel Signal Processing Library version 3.0 and 4.0 can be used in a multithread application. The Thread Local Storage (TLS) memory is allocated for any global variables.
Q: Can I call the library function from Visual Basic 4.0 (16-bit version)?
A: The Intel Signal Processing Library only supports 32-bit application. You will not be able to call Intel Signal Processing Library functions, or link with the Intel Signal Processing Library import library (nsp.lib) in any 16-bit development environment, including C language.
Q: I encounter a problem "Bad DLL calling convention" while calling the library function from a 32 bit version of Visual Basic program. What went wrong?
A: The problem is the calling convention. In Visual Basic, the standard interface is WINAPI, which translates to _stdcall in C language. When Intel Signal Processing Library is built by using _cdecl, it is not compatible with _stdcall. The stack will be messed up if the call goes through.
We have noticed this problem and will change the default calling convention of the Intel Signal Processing Library. The schedule for Visual Basic support will be available in v4.0 final release.
Q: How about Delphi or Fortran support?
A: There is no plan to support of using DLL from Delphi, or FORTRAN. It might be possible to use the Intel Signal Processing Library from these programming environment, but it is not being tested.
Q: What is a "clock/element" in the performance specification for the signal processing library?
A: "clock/element" is a unit to measure the performance of a function. For example, if a function takes 10 microseconds to complete for an array of 256 elements. Suppose the CPU is running at 200MHz, then the clock/element measure will be:
10 * 200 / 256 ~= 8 (clock/element)
Q: Where can I find NSPM5.DLL, which takes advantage of MMX technology when using Intel Signal Processing Library?
A: The Intel Signal Processing Library (Intel Signal Processing Library) Version 3.0 uses MMX technology to accelerate the integer functions within the library.
Both a static library and a processor-specific DLL are provided which take advantage of MMX technology. Please download the latest version of the SPL from the web site at:
http://developer.intel.com/design/perftool/perflibst/spl/
Q: How does Intel Signal Processing Library implement the integer FFT function?
A: Three different set of code has been implemented for the integer function. You can control which code to be used by trade-off between speed and precision. The floating point core will provide the best accuracy, while the MMX code will give you the best performance. The integer core is used for processors which does not support MMX technology.
In the Signal Processing Reference Manual, there is an Application Note for FFT function that show you how you can force the library to switch between these three modes.
If you force the FFT function to use MMX core with higher order vector, you have to make sure the dynamic range of your input vector will not overflow. By default, when overflow occurs, the overflow mode is set to be saturate.
Q: Which Intel's library should I use to get the best performance for DCT and IDCT function?
A: Signal vs. image processing really comes down to 1D vs. 2D. The Intel Signal Processing Library only support 1D DCT, while the IPLib only support 2D DCT.
|
|
|
|
|
|